public class Main {
    public static void main(String[] args) {
        DeadlockDetector detector = new DeadlockDetector();

        // 注册资源
        detector.registerResource(1, 3); // R1有3个实例
        detector.registerResource(2, 2); // R2有2个实例
        detector.registerResource(3, 1); // R3有1个实例

        // 初始资源分配
        detector.allocateResource(1, 1, 2); // P1占用R1×2
        detector.allocateResource(1, 2, 1); // P1占用R2×1
        detector.allocateResource(2, 2, 1); // P2占用R2×1
        detector.allocateResource(3, 3, 1); // P3占用R3×1

        detector.printSystemStatus();

        // 测试死锁场景
        System.out.println("=== 开始死锁测试 ===");

        // P2请求R1×2
        detector.requestResource(2, 1, 2);

        // P1请求R3×1
        detector.requestResource(1, 3, 1);

        // P3请求R2×1
        detector.requestResource(3, 2, 1);

//        detector.printSystemStatus();
    }
}
